

// debug prints - DBG_PRINT for flow prints, ERR_PRINT should be used when an error occurred
#ifdef NDEBUG

	#define DBG_PRINT(format, args ...)  ((void) 0 ) // do nothing
	#define ERR_PRINT(format, args ...)  ((void) 0 ) // do nothing
		
#else

	#include <cstdio>
	#define DBG_PRINT(format, args ...) printf("%s, %d: ",__func__, __LINE__);  		printf(format, args)
	#define ERR_PRINT(format, args ...) frintf(stderr,"%s, %d: ",__func__, __LINE__); 	fprintf(stderr,format, args)

#endif

typedef enum 
{
	OPERATION_SUCCESS 			= 0,
	ERROR_NULL_POINTER			= 1,
	ERROR_INVALID_ARGUMENTS			= 2

} result_t;
